Field of the Invention
This invention relates to systems and methods for reclaiming space in space-efficient secondary volumes.
Background of the Invention
On storage systems such as the IBM DS8000™ enterprise storage system, space-efficient volumes may be used to more efficiently utilize storage space. A space-efficient volume differs from a standard volume in that data is not physically stored in the volume. Rather, the space-efficient volume is a virtual volume whose data is physically stored in a common repository. A mapping structure keeps track of where a space-efficient volume's data is physically located in the repository. Stated otherwise, the mapping structure maps logical tracks of the space-efficient volume to physical tracks of the repository. From the perspective of a host device or other external system, reading from or writing to a space-efficient volume may be the same as reading from or writing to a standard volume.
While physical storage space may be allocated to space-efficient volumes when needed, the same physical storage space may be reclaimed from the space-efficient volumes when it is no longer needed. Currently, when tracks are deleted by host-system-based software, the DS8000™ storage controller relies on updates to its metadata to release the tracks from a space-efficient volume. More specifically, the DS8000™ storage controller relies on certain metadata associated with the tracks to be overwritten with zeros or marked to indicate that the tracks need to be removed from the space-efficient volume. This metadata is later scanned by the storage controller to identify which tracks should be removed. Once identified, the storage controller may add the tracks to a free storage pool to be used for future allocations. Over time, events such as errors or miscommunications may occur which may result in the required metadata not being zeroed out correctly. For example, if software on a host system deletes a data set or particular tracks of a data set, the software on the host system may notify the storage controller so that the storage controller can release the tracks back into the free storage pool. If the notifications from the software are lost or not properly registered or handled by the storage controller, the tracks may not be released back into the free storage pool. Over time this may result in storage space in the storage system that is not utilized, but nevertheless tied up and unavailable for use.
In view of the foregoing, what are needed are systems and methods to more effectively reclaim space in space-efficient volumes. Ideally, such systems and methods will prevent situations where tracks, even though deleted or marked as unused by a host system, are not released to a free storage pool by the storage controller. Yet further needed are systems and methods to reclaim space in space-efficient volumes used in synchronous data replication environments. For example, systems and methods are needed to reclaim space in space-efficient secondary volumes located on a secondary storage system within a data replication environment.